Computer graphics systems are now available which allow the researcher to study or view various types of data as three dimensional images on a display screen. Of the three types of graphics systems available, namely, storage tube, calligraphic and raster, the present invention finds particular use in the latter. In raster graphics systems, the display screen can be thought of as an XY grid pattern. Each discrete cell or element in the grid pattern is referred to as a pixel, i.e. picture element. In raster graphics systems, each pixel can be displayed in a desired manner, i.e. brightness, color, etc. See Rogers, D.F. Procedural Elements for Computer Graphics. N.Y., McGraw-Hill, 1985, pp. 3-15. Due to such versatility, raster graphics systems have become quite popular.
In general, a raster graphics system includes an image creation section, an image storage section, an image display section and a raster display which can be of several types, including a cathode ray tube (CRT). In such a raster graphics system, the image creation section converts signals generated by one or more applications (computer programs) into pixel information which is stored in a frame buffer. Image information relating to each pixel, i.e. color and intensity, is written to a particular memory location in the frame buffer for eventual screen display. Such memory locations are referred to as "on screen" memory, which typically forms only a part of the overall frame buffer memory. Memory locations to which image information is not written are referred to as "off screen" memory. Pixel information is read from the frame buffer and provided to the image display section where the digital data is converted to one or more analog signals. The analog signals are designed to achieve the desired pixel image when applied to the raster display.
In computer graphics systems, some scheme must be implemented to "render" or draw graphics primitives to the display screen. A "graphics primitive" is a basic component of a graphics picture such as, for example, a polygon or vector. All graphics pictures are formed from combinations of these graphics primitives. Many schemes have been proposed to perform graphics primitives rendering, including the use of clipping information. Clipping information creates display conditions or boundaries whereby the display of pixel information is dependent upon a comparison of the screen address location of the subject pixel and the clipping information.
The frame buffer generally comprises a plurality of video random access memory (VRAM) computer chips which store pixel and clipping information corresponding to the particular graphics primitives which will be rendered to the display screen. The frame buffer will also include one or more pixel caches for intermediate storage of pixel information. Generally, the frame buffer contains all of the graphics information which will be written onto the display screen, and stores this information in the VRAMs until the graphics system is prepared to display this information.
Many graphics display options, for example fonts, color maps and indexes are stored in off screen memory on the frame buffer and such objects are identified according to frame buffer relative addresses. In the past such display options together with related clipping information have been stored in a logically contiguous single multi-bit memory plane. While such combination frame buffer storage schemes seem beneficial in order to minimize VRAM components, the problem is that versatility is lost. For example, display indexes combined with clipping information can only be used by pixels falling within the boundaries of such clipping information.
Consequently, a need exists for more flexible and maximum use of display options stored in a frame buffer.